package com.zhouixi.reproduce.config;

import com.zhouixi.reproduce.service.DataSources;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class DataSourceContextHolder {
	 /**
     * 默认数据源
     */
    public static final String DEFAULT_DATASOURCE = DataSources.MASTER_DB;

    private static final ThreadLocal<String> contextHolder = new ThreadLocal<>();

    // 设置数据源名
    public static void setDB(String dbType) {
        log.debug("切换到{}数据源", dbType);
        contextHolder.set(dbType);
    }

    // 获取数据源名
    public static String getDB() {
    	
    	if(contextHolder.get() == null ) {
    		contextHolder.set(DEFAULT_DATASOURCE);
    	}
    	
        return contextHolder.get();
    }

    // 清除数据源名
    public static void clearDB() {
    	//源码层拿当前线程做了空判断。
        contextHolder.remove();
    }

}
